<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://xmlns.jcp.org/jsf/core">

    <body>

        <ui:composition template="./../Templates/TemplateProfesionalSalud.xhtml">
            <ui:define name="contentS">
                <h:form id="HCE_Paciente">         
                    <center><b><h:outputText value="INGRESO DE VISITA MÉDICA" style="font-size: 16px; color: #003399"/></b></center>
                    <br />

                    <b><h:outputText value="Datos Informativos" style="font-size: 14px; color: #003399"/></b>
                    <h:panelGrid id="pngHCEPaciente" columns="4" cellpadding="3" style="font-size: 12px !important">

                        <h:outputText value="Cédula:" style="color:#003399" />
                        <h:outputText value="#{controladorHCE.hce.paciente.ci}"/>

                        <h:outputText value="No HCE:" style="color:#003399" />
                        <h:outputText value="#{controladorHCE.hce.idHc}"/>

                        <h:outputText value="Nombres:" style="color:#003399" />
                        <h:outputText value="#{controladorHCE.hce.paciente.nombres}" />

                        <h:outputText value="Apellidos:" style="color:#003399" />
                        <h:outputText value="#{controladorHCE.hce.paciente.apellidos}"/>

                        <h:outputText value="Edad:" style="color:#003399" />                        
                        <h:outputText value="#{myUtil.calcularEdadFN(controladorHCE.hce.paciente.fechaNac)}"/>

                        <h:outputText value="Teléfono:" style="color:#003399" />
                        <h:outputText value="#{controladorHCE.hce.paciente.telefono}"/>

                        <h:outputText value="Dirección:" style="color:#003399" />
                        <h:outputText value="#{controladorHCE.hce.paciente.direccion}"/>

                        <h:outputText value="Sexo:" style="color:#003399" />
                        <h:outputText value="#{controladorHCE.hce.paciente.sexo}"/>

                        <h:outputText value="Lugar de Nacimiento:" style="color:#003399" />
                        <h:outputText value="#{controladorHCE.hce.paciente.lugarNacimiento}"/>

                        <h:outputText value="Lugar de Residencia:" style="color:#003399" />
                        <h:outputText value="#{controladorHCE.hce.paciente.lugarResidencia}"/>

                        <h:outputText value="Etnia" style="color:#003399" />
                        <h:outputText value="#{controladorHCE.hce.paciente.etnia.descripcion}"/>

                        <h:outputText value="Estado Civil:" style="color:#003399" />
                        <h:outputText value="#{controladorHCE.hce.paciente.estadoCivil.descripcion}"/>

                        <h:outputText value="Profesión:" style="color:#003399" />
                        <h:outputText value="#{controladorHCE.hce.paciente.profesion}"/>


                        <h:outputText value="Lateralidad:" style="color:#003399" />
                        <h:outputText value="#{controladorHCE.hce.paciente.lateralidad}"/>

                    </h:panelGrid>
                    <br />
                    <b><h:outputText value="Historial Clínico" style="font-size: 14px; color: #003399"/></b>
                    <br />
                    <h:outputText value="Para ver el registro en detalle seleccione la fila" style="font-size: 12px; color: #AFAFAF"/>
                    <br />

                    <p:dataTable id="tblVisita" value="#{controladorHCE.lstComposiciones}" 
                                 var="composicionV" rowKey="#{composicionV.idComposicion}"
                                 widgetVar="wdgVisita"
                                 style="margin:5px;" 
                                 selectionMode="single"
                                 selection="#{controladorHCE.composicionSel}"
                                 paginator="true" rows="20">


                        <p:ajax event="rowSelect" update=":VisualizarComposicion" oncomplete="wdlgVerHCE.show()" />
                        
                        <f:facet name="header">
                            <p:commandButton id="btnAgregar" value="Agregar" icon="ui-icon-extlink" 
                                             onclick="wdlgAgregarHCE.show();"
                                             update=":frmHCE:pngDatosPaciente" disabled="false" />
                        </f:facet>
                        <p:column headerText="Fecha">
                            <h:outputText value="#{composicionV.fecha}"/>
                        </p:column>
                        <p:column headerText="Dependencia">
                            <h:outputText value="#{composicionV.organizacionDependencia.dependencia.descripcion}"/>
                        </p:column>

                        <p:column headerText="Médico">
                            <h:outputText value="#{composicionV.profesionalSalud.nombres} #{composicionV.profesionalSalud.apellidos}"/>
                        </p:column>
                        

                    </p:dataTable>
                </h:form>
                <p:ajaxStatus style="width:64px;height:64px;position:fixed;right:5px;bottom:5px">  
                    <f:facet name="start">  
                        <p:graphicImage value="/resources/images/loading.gif" />  
                    </f:facet>  

                    <f:facet name="complete">  
                        <h:outputText value="" />  
                    </f:facet>  
                </p:ajaxStatus> 
            </ui:define>
            <ui:define name="dialogos">
                <p:dialog id="VerHCE" widgetVar="wdlgVerHCE"   header="Visita Médica" 
                          modal="true" resizable="false" closable="true">
                    <p:scrollPanel  style="width:850px;height:400px"  mode="native">                        
                        <h:form id="VisualizarComposicion">
                            <b>    <h:outputText value="Datos Informativos" style="font-size: 14px; color: #003399"/> </b>
                            <h:panelGrid id="pngDatosPacV" columns="4" cellpadding="3" style="font-size: 12px !important">

                                <h:outputText value="Cédula:" style="color:#003399" />
                                <h:outputText value="#{controladorHCE.hce.paciente.ci}" />

                                <h:outputText value="Edad:" style="color:#003399" />                        
                                <h:outputText value="#{myUtil.calcularEdadFN(controladorHCE.hce.paciente.fechaNac)}"/>

                                <h:outputText value="Nombres:" style="color:#003399" />
                                <h:outputText value="#{controladorHCE.hce.paciente.nombres}" />

                                <h:outputText value="Apellidos:" style="color:#003399" />
                                <h:outputText value="#{controladorHCE.hce.paciente.apellidos}" />

                                <h:outputText value="No HCE:" style="color:#003399" />
                                <h:outputText value="#{controladorHCE.hce.idHc}" />
                            </h:panelGrid>

                            <p:dataTable id="tblEntradas" value="#{controladorHCE.getLstEntradasComp(controladorHCE.composicionSel.idComposicion)}" 
                                         var="entrada" rowKey="#{entrada.idEntrada}"
                                         style="margin:5px;">

                                <p:column headerText="Detalle Historia Clínica">
                                    <h:outputText value="#{entrada.tipoEntrada.descripcion}" style="font-size: 12px; color: #003399"/>
                                    <br />
                                    <h:outputText  value="#{entrada.contenido}" escape="false"/>
                                    <br />

                                </p:column>

                            </p:dataTable>

                        </h:form>
                    </p:scrollPanel>
                    <f:facet name="footer">
                        <center> <p:commandButton id="bntSalir" value="Salir"
                                                  onclick="wdlgVerHCE.hide();"
                                                  process="@this" />
                        </center>
                    </f:facet>
                </p:dialog>

                <p:dialog id="dlgBuscarPaciente" widgetVar="wdlgBuscarPaciente"
                          header="Buscar  HCE de Paciente" modal="true" closable="false" resizable="false"
                          visible="true">
                    <h:form id="frmBuscarHCE">
                        <p:panelGrid id="pngBuscarHCE" columns="2">

                            <h:outputText value="Cédula"/>
                            <p:inputMask mask="9999999999" value="#{controladorPaciente.paciente.ci}" required="true" requiredMessage="El número de cédula es requerido para la búsqueda">
                            </p:inputMask>
                        </p:panelGrid>
                        <p:commandButton id="btnBuscarHCE" value="Buscar"
                                         actionListener="#{controladorHCE.CargarHCE(controladorPaciente.paciente.ci)}"
                                         update=":HCE_Paciente"
                                         onclick="wdlgBuscarPaciente.hide();"
                                         />
                        <p:commandButton id="bntCancelar" value="Cancelar"
                                         onclick="wdlgBuscarPaciente.hide();"
                                         process="@this" />
                    </h:form>
                </p:dialog>
                <p:dialog id="dlgAgregarHCE" widgetVar="wdlgAgregarHCE"
                          header="Agregar Visita Médica" modal="true" closable="true" resizable="false">
                    <p:scrollPanel  style="width:680px;height:400px"  mode="native">
                        <h:form id="frmHCE">

                            <b>    <h:outputText value="Información del Paciente:" style="font-size: 14px; color: #003399"/> </b>
                            <br />
                            <br />
                            
                            <h:panelGrid id="pngDatosPaciente" columns="4"  style="font-size: 12px !important;">


                                <h:outputText value="No HCE:" style="color:#003399" />
                                <h:outputText value="#{controladorHCE.hce.idHc}" />

                                <h:outputText value="Cédula:" style="color:#003399" />
                                <h:outputText value="#{controladorHCE.hce.paciente.ci}" />
                                <h:outputText value="Nombres:" style="color:#003399" />
                                <h:outputText value="#{controladorHCE.hce.paciente.nombres}" />

                                <h:outputText value="Apellidos:" style="color:#003399" />
                                <h:outputText value="#{controladorHCE.hce.paciente.apellidos}"/>

                                <h:outputText value="Edad:" style="color:#003399" />                        
                                <h:outputText value="#{myUtil.calcularEdadFN(controladorHCE.hce.paciente.fechaNac)}"/>

                            </h:panelGrid>
                            <br />
                           
                            <b>    <h:outputText value="Información de Visita:" style="font-size: 14px; color: #003399"/> </b>
                            <h:panelGrid id="pngInfOrg" columns="2">
                                <h:outputText value="Organizacion:" style="color:#003399"  />
                                <p:selectOneMenu id="combOrg"  
                                                 converter="organizacionConverter"
                                                 value="#{controladorHCE.composicion.organizacionDependencia.organizacion}"
                                                 required="true" requiredMessage="Seleccione la organización"
                                                 >
                                    <f:selectItem itemLabel="Seleccione Una" itemValue=""/>
                                    <f:selectItems  value="#{controladorOrganizacion.lstOrganizacion}"
                                                    var="colOrg" 
                                                    itemLabel="#{colOrg.nombre}"
                                                    itemValue="#{colOrg}"
                                                    />
       <!--                            <f:ajax  execute="@this" listener="#{controladorDependencia.ObtenerDependenciasxOrganizacion(controladorHCE.composicion.organizacionDependencia.organizacion.idOrganizacion)}" render="combDep"/>-->
                                    <p:ajax  event="valueChange" listener="#{controladorDependencia.ObtenerDependenciasxOrganizacion(controladorHCE.composicion.organizacionDependencia.organizacion.idOrganizacion)}" update="combDep"/>

                                </p:selectOneMenu> 

                                <h:outputText value="Dependencia:" style="color:#003399" />
                                <p:selectOneMenu id="combDep"  
                                                 value="#{controladorHCE.composicion.organizacionDependencia.dependencia}"
                                                 converter="dependenciaConverter"
                                                 requiredMessage="La organización es un campo requerido">
                                    <f:selectItems  itemValue="#{colD}" var="colD" 
                                                    itemLabel="#{colD.descripcion}" 
                                                    value="#{controladorDependencia.lstDependencia}" />

                                </p:selectOneMenu> 

                            </h:panelGrid>
                            <br />
                            <h:panelGrid id="pngInfHCE" columns="1">
                                <h:outputText value="Motivo de la Consulta" style="font-size: 14px; color: #003399"/>
                                <p:inputTextarea id="itMotivoConsulta" rows="5" cols="80" value="#{controladorHCE.lstEntradas[0].contenido}"/>

                                <h:outputText value="Enfermedad Actual" style="font-size: 14px; color: #003399"/>
                                <p:inputTextarea id="itEnfermedadActual" rows="5" cols="80" value="#{controladorHCE.lstEntradas[1].contenido}"/>   


                                <h:outputText value="Antecentes Patológicos Personales" style="font-size: 14px; color: #003399"/>
                                <p:inputTextarea id="itAPP" rows="5" cols="80" value="#{controladorHCE.lstEntradas[2].contenido}"/>   
                                <h:outputText value="Antecentes Patológicos Familiares" style="font-size: 14px; color: #003399"/>
                                <p:inputTextarea id="itAPF" rows="5" cols="80" value="#{controladorHCE.lstEntradas[3].contenido}"/>   

                                <h:outputText value="Antecentes Quirúrgicos" style="font-size: 14px; color: #003399"/>
                                <p:inputTextarea id="itAQX" rows="5" cols="80" value="#{controladorHCE.lstEntradas[4].contenido}"/>   

                                <h:outputText value="Alergias" style="font-size: 14px; color: #003399"/>
                                <p:inputTextarea id="itAlergias" rows="5" cols="80" value="#{controladorHCE.lstEntradas[5].contenido}"/>  

                                <h:outputText value="Examen Físico" style="font-size: 14px; color: #003399"/>
                                <p:inputTextarea id="itEX" rows="5" cols="80" value="#{controladorHCE.lstEntradas[6].contenido}"/>   
                                <h:panelGrid id="pngSignos" columns="4" style="font-size: 12px">
                                    <h:outputText value="Presión Arterial:" style="color:#003399" />
                                    <h:inputText value="#{controladorHCE.lstElementosSV[0].descripcion}"/>
                                    <h:outputText value="/" style="color:#003399" />
                                    <h:inputText value="#{controladorHCE.lstElementosSV[1].descripcion}"/>

                                    <h:outputText value="Oxígeno de la Sangre:" style="color:#003399" />
                                    <h:inputText value="#{controladorHCE.lstElementosSV[2].descripcion}"/>
                                    <h:outputText value="Pulso:" style="color:#003399" />
                                    <h:inputText value="#{controladorHCE.lstElementosSV[3].descripcion}"/>
                                </h:panelGrid>
                                <h:outputText value="Diagnostico" style="font-size: 14px; color: #003399"/>
                                <p:inputTextarea id="itDiagnostico" rows="5" cols="80" value="#{controladorHCE.lstEntradas[7].contenido}"/>  
                                <h:outputText value="Tratamiento" style="font-size: 14px; color: #003399"/>
                                <p:inputTextarea id="itTratamiento" rows="5" cols="80" value="#{controladorHCE.lstEntradas[8].contenido}"/>  

                                <h:outputText value="Medicamentos Seleccionados" style="font-size: 14px; color: #003399"/>

                                <p:dataTable id="tblMedicamentos" value="#{controladorHCE.lstElementosMedicamentos}" 
                                             var="rmed" rowKey="#{rmed.idElemento}" >                                     
                                    <p:column headerText="Codigo">
                                        <h:outputText value="#{rmed.idElemento}"/>
                                    </p:column>
                                    <p:column headerText="Descripción">
                                        <h:outputText value="#{rmed.descripcion}"/>
                                    </p:column>
                                    <p:column headerText="Dosis">
                                        <h:inputText value="#{rmed.dosisSoloMedicamento}" size="20"/>
                                    </p:column>
                                    <p:column headerText="Frecuencia">
                                        <p:inputTextarea value="#{rmed.indicacionOfrecuencia}" rows="1" cols="20"/>
                                    </p:column>

                                    <p:column >
                                        <p:commandButton id="btnBorrarMed"  action="#{controladorHCE.eliminarMedicamento()}" 
                                                         update=":frmHCE:tblMedicamentos" icon="ui-icon-trash" >  
                                            <f:setPropertyActionListener value="#{rmed}" target="#{controladorHCE.elementoSel}" />  
                                        </p:commandButton>  
                                    </p:column>
                                    <f:facet name="footer">
                                        <p:commandButton id="btnAgregarMed" value="Agregar Medicación" 

                                                         onclick="wdlgAgregarMed.show();" icon="ui-icon-extlink" 
                                                         style="font-size: 12px">

                                        </p:commandButton>
                                    </f:facet>
                                </p:dataTable>
                                <h:outputText value="Exámenes Seleccionados" style="font-size: 14px; color: #003399"/>

                                <p:dataTable id="tblExamenes" value="#{controladorHCE.lstElementosExamenes}" 
                                             var="colEx" rowKey="#{colEx.idElemento}"
                                             >
                                    <p:column headerText="Codigo">
                                        <h:outputText value="#{colEx.idElemento}"/>
                                    </p:column>
                                    <p:column headerText="Descripción">
                                        <h:outputText value="#{colEx.descripcion}"/>
                                    </p:column>
                                    <p:column headerText="Indicaciones">
                                        <center>
                                            <p:inputTextarea value="#{colEx.indicacionOfrecuencia}" rows="1" cols="40"/>
                                        </center>
                                    </p:column>
                                    <p:column >
                                        <p:commandButton id="btnBorrarExamen"  action="#{controladorHCE.eliminarExamen()}" 
                                                         update=":frmHCE:tblExamenes" icon="ui-icon-trash" >  
                                            <f:setPropertyActionListener value="#{colEx}" target="#{controladorHCE.elementoSel}" />  
                                        </p:commandButton>  
                                    </p:column>
                                    <f:facet name="footer">
                                        <p:commandButton id="btnAgregarEx" value="Agregar Examen" 
                                                         onclick="wdlgAgregarExam.show();" icon="ui-icon-extlink"
                                                         style="font-size: 12px"/>

                                    </f:facet>
                                </p:dataTable>
                            </h:panelGrid>

                            <br />
                            <center>       
                                <p:commandButton id="btnAgregarHCE" value="Aceptar" 
                                                 action="#{controladorHCE.agregarComposicionHCE()}"    
                                                 update=":HCE_Paciente:tblVisita"
                                                 onclick="wdlgAgregarHCE.hide()"
                                                 />

                                <p:commandButton id="bntCancelarHCE" value="Cancelar"                                         
                                                 process="@this" />
                            </center>

                        </h:form>
                    </p:scrollPanel>
                </p:dialog>

                <p:dialog id="dlgAgregarMed" widgetVar="wdlgAgregarMed"
                          header="Agregar Farmaco/Medicamento" modal="true" closable="true" resizable="false">
                    <h:form>
                        <center><h:outputText value="Listado de Medicamentos" style="font-size: 14px; color: #003399"/></center>
                        <p:dataTable id="tblMedicamentosDialog" 
                                     var="medicamento" 
                                     value="#{controladorElemento.getLstElemento('M')}" 
                                     widgetVar="wdlgMedicamento"
                                     paginator="true" rows="6"
                                     emptyMessage="Datos no encontrados" 
                                     filteredValue="#{controladorElemento.lstElementoFiltrados}"
                                     rowKey="#{medicamento.idElemento}"
                                     selection="#{controladorElemento.elementoSel}"
                                     selectionMode="single"
                                     >
                            <f:facet name="header">  
                                <p:outputPanel>  
                                    <h:outputText value="Buscar:" />  
                                    <p:inputText id="globalFilter" onkeyup="wdlgMedicamento.filter()" style="width:150px" />  
                                </p:outputPanel>  
                            </f:facet>

                            <p:column headerText="Código" >

                                <h:outputText value="#{medicamento.idElemento}"/>
                            </p:column>
                            <p:column headerText="Descripción" filterBy="descripcion" filterStyle="display:none">
                                <h:outputText value="#{medicamento.descripcion}"/>
                            </p:column>                            
                            <f:facet name="footer">
                                <center> 
                                    <p:commandButton id="btnAgregarM" value="Aceptar" 
                                                     action="#{controladorHCE.agregarMedicamento(controladorElemento.elementoSel)}" 
                                                     update=":frmHCE:tblMedicamentos"
                                                     />
                                    <p:commandButton id="bntCancelarM" value="Cancelar"
                                                     onclick="wdlgAgregarMed.hide();"
                                                     process="@this" />
                                </center>
                            </f:facet>
                        </p:dataTable>
                       

                    </h:form>
                </p:dialog>

                <p:dialog id="dlgAgregarExam" widgetVar="wdlgAgregarExam"
                          header="Agregar Examen Médico" modal="true" closable="true" resizable="false">
                    <h:form>
                        <center><h:outputText value="Listado de Exámenes Médicos" style="font-size: 14px; color: #003399"/></center>

                        <p:dataTable id="tblExamenesDialogo" value="#{controladorElemento.getLstElemento('E')}" 
                                     widgetVar="wdlgExamen"
                                     var="examen" rowKey="#{examen.idElemento}" 
                                     paginator="true" rows="20" 
                                     selection="#{controladorElemento.elementoSel}"
                                     selectionMode="single"
                                     >

                            <f:facet name="header">  
                                <p:outputPanel>  
                                    <h:outputText value="Buscar:" />  
                                    <p:inputText id="globalFilter" onkeyup="wdlgExamen.filter()" style="width:150px" />
                                </p:outputPanel>  
                            </f:facet>
                            <p:column headerText="Código">
                                <h:outputText value="#{examen.idElemento}"/>
                            </p:column>
                            <p:column headerText="Descripción" filterBy="descripcion" filterStyle="display:none">
                                <h:outputText value="#{examen.descripcion}"/>
                            </p:column>

                            <f:facet name="footer">
                                <center>

                                    <p:commandButton id="btnAgregarE" value="Aceptar" 
                                                     action="#{controladorHCE.agregarExamen(controladorElemento.elementoSel)}" 
                                                     update=":frmHCE:tblExamenes"
                                                     />
                                    <p:commandButton id="bntCancelarE" value="Cancelar"
                                                     onclick="wdlgAgregarExam.hide();"
                                                     process="@this" />
                                </center>
                            </f:facet>
                        </p:dataTable>
                    </h:form>
                </p:dialog>

            </ui:define>

        </ui:composition>
    </body>
</html>
